break;
}
+ if (GTK_IS_WINDOW (widget))
+ {
+ GtkWidget *picked;
+
+ picked = gtk_window_pick_popover (GTK_WINDOW (widget), x, y);
+ if (picked)
+ return picked;
+ }
+
return GTK_WIDGET_GET_CLASS (widget)->pick (widget, x, y);
}
GtkWindow *window,
cairo_rectangle_int_t *rect);
-static GtkWidget *
-gtk_window_pick (GtkWidget *widget,
- gdouble x,
- gdouble y)
+GtkWidget *
+gtk_window_pick_popover (GtkWindow *window,
+ double x,
+ double y)
{
- GtkWindow *window = GTK_WINDOW (widget);
GtkWindowPrivate *priv = gtk_window_get_instance_private (window);
GList *popovers;
int dest_x, dest_y;
GtkWidget *picked;
- gtk_widget_translate_coordinates (widget, popover->widget,
+ gtk_widget_translate_coordinates (GTK_WIDGET (window), popover->widget,
x, y,
&dest_x, &dest_y);
return picked;
}
- return GTK_WIDGET_CLASS (gtk_window_parent_class)->pick (widget, x, y);
+ return NULL;
}
static void
widget_class->state_flags_changed = gtk_window_state_flags_changed;
widget_class->style_updated = gtk_window_style_updated;
widget_class->snapshot = gtk_window_snapshot;
- widget_class->pick = gtk_window_pick;
container_class->add = gtk_window_add;
container_class->remove = gtk_window_remove;